home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / parallax / ibm_pc_d.exe / SAMPLES / PI.P < prev    next >
Text File  |  1992-11-06  |  546b  |  24 lines

  1. SYSTEM compute_pi;
  2. (* parallel reference algorithm, used by R. Babb *)
  3. CONST intervalls = 100;
  4.       width      = 1.0 / FLOAT(intervalls);
  5. CONFIGURATION list [1..intervalls];
  6. CONNECTION (* none *);
  7.  
  8. VECTOR val: REAL;
  9.  
  10. PROCEDURE f (VECTOR x: REAL): VECTOR REAL;
  11. (* function to be integrated *)
  12. BEGIN
  13.   RETURN(4.0 / (1.0 + x*x))
  14. END f;
  15.  
  16. BEGIN
  17.   PARALLEL
  18.     (* integral approximation with rectangle-rule *)
  19.     val := width * f( (FLOAT(id_no)-0.5) * width );
  20.   ENDPARALLEL;
  21.   WriteReal(REDUCE.SUM(val), 15);
  22. END compute_pi.
  23.  
  24.